<?php
/**
 * 住所検索用SQL作成クラス<br />
 *
 * @package apamanshop
 * @author SS永田
 * @copyright 
 */
class Rstobi_Model_JyusyoSearch extends Rstobi_Model_Base
{

    /**
     * 住所検索用From句取得
     * 
	 * @access	public
	 * @return  string
     */
	public function getFromForJyusyosearch()
	{
		$strFrom  = ' From';
		$strFrom .= '     T03WEB_HEYA T03';
		
		return $strFrom;
	}
	
    /**
     * 住所検索用Where句取得
     * 
	 * @access	public
	 * @param   array
	 * @param	array ※参照渡し
	 * @return  string
     */
	public function getWhereForJyusyosearch($params ,&$db_params)
	{
		// Where句用変数
		$strWhere = ' Where (';
		
		// 町CDが渡された場合は、町で絞込む
		if(array_key_exists('TownCd', $params) &&
		   isset($params['TownCd']))
		{
			for ($i = 0; $i < count($params['TownCd']); $i++)
			{
				// OR句の取得
				$strOr = $this->_model_rstobi_common->getPause($i,"OR");
				$db_params['strTownCd_'.$i] = $params['TownCd'][$i];
				
				$strWhere .= $strOr." ( T03.T03_TODOUFUKEN_CD = substr( :strTownCd_".$i." , 1,2)";
				$strWhere .= " AND T03.T03_SHIKUCHOUSON_CD    = substr( :strTownCd_".$i." , 3,3)";
				$strWhere .= " AND T03.T03_CHOUMEI_CD         = substr( :strTownCd_".$i." , 6,3))";
			}
		
		// 市区町村CDが渡された場合は、市区町村で絞込む
		}else if(array_key_exists('CityCd', $params) &&
				 isset($params['CityCd']))
		{
		
			for ($i = 0; $i < count($params['CityCd']); $i++)
			{
				// OR句の取得
				$strOr = $this->_model_rstobi_common->getPause($i,"OR");
				$db_params['strCityCd_'.$i] = $params['CityCd'][$i];
				
				$strWhere .= $strOr." ( T03.T03_TODOUFUKEN_CD = substr( :strCityCd_".$i." , 1,2)";
				$strWhere .= " AND T03.T03_SHIKUCHOUSON_CD    = substr( :strCityCd_".$i." , 3,3))";
			}
		
		// 都道府県CDが渡された場合は、都道府県で絞込む
		}else if(array_key_exists('PrefCd', $params) &&
				 isset($params['PrefCd']))
		{
		
			for ($i = 0; $i < count($params['PrefCd']); $i++)
			{
				// OR句の取得
				$strOr = $this->_model_rstobi_common->getPause($i,"OR");
				$db_params['strPrefCd_'.$i] = $params['PrefCd'][$i];
				
				$strWhere .= $strOr." T03.T03_TODOUFUKEN_CD = :strPrefCd_".$i." ";
			}
			
			
		}else{
			echo '住所検索：都道府県CD、市区町村CD、町CDが渡されていません。';
			exit;
		}
		
		$strWhere .= ' ) ';
		
		return $strWhere;
		
	}
}
?>